package Day007_Collection_泛型_数据结构.Demo04_泛型;

/*
    定义含有泛型的类: 在类上含有泛型
                格式:
                    public class 类名<泛型变量>{
                     }
                     <>中的泛型变量可以是任意子母
                     例如:public class ArrayList<E>{
                            public boolean add(E e){
                            }
                        }

            使用场景:
                1.当定义类中方法的时候,方法的参数类型或者返回值类型不确定,但有要类型相同


     使用含有泛型的类: 确定泛型类上的泛型的具体数据类型
                    创建泛型类对象,调用泛型类方法

 */

import java.util.ArrayList;

public class demo1定义和使用含有泛型的类 {
    public static void main(String[] args) {
        //使用系统含有的类
        ArrayList<String> list = new ArrayList<>();
        list.add("jack");

        //使用自己定义的泛型
        //在创建该类对象的时候 确定类型
        //只能写引用数据类型
        MyArrayList<String> myList1 = new MyArrayList<>();
        //调用MyArrayList<E>类中的方法
        myList1.add("jack");
        myList1.remove("jack");

        MyArrayList<Integer> myList2 = new MyArrayList<>();
        myList2.add(100);
        myList2.remove(100);


    }
}
